SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TMDOCU_CLIE_Q21]
/*-------------------------------------------------------*/
/*---Empresa               OFISIS S.A.                --*/
/*---CLIEnte               SANTILLANA                 --*/
/*---Sistema               Tesoreria                  --*/
/*---M÷dulo                Empresa                    --*/
/*---Programa              ESTADO DE CUENTA		       --*/
/*---Script                SP_TMDOCU_CLIE_Q21.sql     --*/
/*---Nombre SP             SP_TMDOCU_CLIE_Q21         --*/
/*---Desarrollado por      Eduardo Vivar Pomiano      --*/
/*---Fecha Creaci÷n        03/01/2001                 --*/
/*---Base Datos           : Microsoft Sql Server       --*/
/*---Versi«n              : 2005                       --*/
/*---Invoca a SP                                      --*/
/*-------------------------------------------------------*/
/*-------------------------------------------------------*/
/*---Modificado 1 por     :D.CH.B				 --*/
/*---Fecha Modificaci÷n   :26/11/2001 			 --*/ 
/*---Detalle Modificaci÷n : ACTUALIZACIONES DE OFISIS	 --*/
/*-------------------------------------------------------*/
/*-------------------------------------------------------*/
/*---Modificado 1 por     :Reynaldo Menacho L.				 --*/
/*---Fecha Modificaci÷n   :08/03/2002 			 --*/ 
/*---Detalle Modificaci÷n : MANEJO DE VARIAS MONEDAS	 --*/
/*-------------------------------------------------------*/

/*-------------------------------------------------------*/
/*---Drop Proc SP_TMDOCU_CLIE_Q21                      --*/
/*---Grant execute on SP_TMDOCU_CLIE_Q21 to public         --*/ 
/*---SP_TMDOCU_CLIE_Q21 '01', NULL,''FAC', 'DEP', 'LET', 'NCR' , 'TIC'', ''DIS',  'MAY',  'MIN'', 
     NULL,'T','E','2002/01/01','2002/07/20','2002/07/20',
     NULL,'1','C', 'D', 'SOL', 'N', 0                                                        --*/
/*-------------------------------------------------------*/

@ISCO_EMPR 	TD_VC_002,
@ISCO_CLIE 	TD_VC_020,
@ISDE_CODI 	VARCHAR(500),
@ISDE_CODI_CLIE VARCHAR(500),
@ISCO_MONE 	TD_VC_003,
@ISTI_SALD	TD_VC_001,
@ISFL_FECH	TD_VC_001,
@IDFE_INIC 	TD_DT_001,
@IDFE_FINA 	TD_DT_001,
@IDFE_CANC	TD_DT_001,
@ISCO_TIPO_OPER TD_VC_003,
@ISDE_ORDE	TD_VC_001,
--@ISDE_CODI_CLIE 	TD_VC_008,
@ISTI_AUXI_CLIE	TD_VC_001,
@ISTI_REPO 	TD_VC_003,
@ISCO_MONE_PRES TD_VC_003,
@ISST_USUA	TD_VC_001,
@INFA_USUA	TD_NU_009_004
 
AS	

CREATE TABLE #TWDOCU_CLIE_Q21_1 
 ( CO_EMPR      varchar(3) NULL,
   TI_CLIE	varchar(3) NULL ,
   CO_CLIE	varchar(20) NULL ,
   CO_TIPO_DOCU	varchar(3) NULL ,
   NU_DOCU_CLIE	varchar(20) NULL,
   FE_EMIS	datetime NULL,
   FE_VENC	datetime NULL,
   FE_DESP	datetime NULL,
   CO_TIPO_OPER varchar(3) NULL,
   CO_MONE	varchar(03) NULL,
   FA_TIPO_CAMB	numeric(9,4) NULL,
   IM_CXCB	numeric(16,4) DEFAULT 0,
   IM_PAGO	numeric(16,4) DEFAULT 0,
   IM_CXCB_CONV	numeric(16,4) DEFAULT 0,
   IM_PAGO_CONV	numeric(16,4) DEFAULT 0,
   IM_CONV	numeric(16,4) DEFAULT 0,
   IM_CONV_TOTA	numeric(16,4) DEFAULT 0,
   TI_DETA	varchar(1) NULL, 
   ST_FLAG	varchar(1) NULL)
  

CREATE TABLE #TWDOCU_CLIE_Q21_2 
 ( CO_EMPR      varchar(3) NULL,
   TI_CLIE	varchar(3) NULL, 
   CO_CLIE	varchar(20) NULL, 
   CO_MONE	varchar(3) NULL,
   IM_SAIN	numeric(16,4) DEFAULT 0,
   IM_SAIN_CONV	numeric(16,4) DEFAULT 0)


CREATE TABLE #TWDOCU_CLIE_Q21_3
 ( CO_EMPR      varchar(3) NULL,
   TI_CLIE	varchar(3) NULL ,
   CO_CLIE	varchar(20) NULL ,
   CO_TIPO_DOCU	varchar(3) NULL ,
   NU_DOCU_CLIE	varchar(20) NULL,
   FE_EMIS	datetime NULL,
   FE_VENC	datetime NULL,
   FE_DESP	datetime NULL,
   CO_TIPO_OPER varchar(3) NULL,
   CO_MONE	varchar(03) NULL,
   DE_MONE	varchar(20) NULL,
   SB_MONE	varchar(03) NULL,
   FA_TIPO_CAMB	numeric(9,4) NULL,
   IM_CXCB	numeric(16,4) DEFAULT 0,
   IM_PAGO	numeric(16,4) DEFAULT 0,
   IM_CXCB_CONV	numeric(16,4) DEFAULT 0,
   IM_PAGO_CONV	numeric(16,4) DEFAULT 0,
   IM_SAIN	numeric(16,4) DEFAULT 0,
   IM_SAIN_CONV	numeric(16,4) DEFAULT 0,
   IM_CONV	numeric(16,4) DEFAULT 0,
   IM_CONV_TOTA	numeric(16,4) DEFAULT 0,
   TI_DETA_CLIE char(1),
   TI_DETA_TICL char(1),
   TI_DETA_EMPR char(1),
   TI_DETA_GENE char(1))


DECLARE 


@VSTI_CAMB	TD_VC_001,
@VSTI_ORIG	TD_VC_001,
@VSDE_ORDE	TD_VC_050,
@VSFE_INIC	TD_VC_010,
@VSFE_FINA	TD_VC_010,
@VNIM_CXCB_CONV TD_NU_016_004,
@VNIM_PAGO_CONV TD_NU_016_004,
@VNFE_0001      TD_IN_001, 

@CSCO_EMPR  	TD_VC_002,
@CSCO_CLIE  	TD_VC_020,
@CSCO_TIPO_DOCU	TD_VC_003,
@CSNU_DOCU_CLIE	TD_VC_020,
@CSCO_MONE      TD_VC_003,
@CNIM_CXCB	TD_NU_016_004,
@CNIM_PAGO	TD_NU_016_004,
@CDFE_EMIS      TD_DT_001,
@CNFA_TIPO_CAMB TD_NU_009_004,
@CSTI_DETA      TD_VC_002,

@OSTI_DOCU_LETR	TD_VC_003,
@OSTI_DOCU_NCRE	TD_VC_003,
@OSTI_DOCU_OCMP	TD_VC_003,
@OSTI_DOCU_CHEQ TD_VC_003


EXEC SP_TTDOCU_CNTB_Q01 4, @OSTI_DOCU_NCRE OUTPUT
EXEC SP_TTDOCU_CNTB_Q01 6, @OSTI_DOCU_LETR OUTPUT
/* Devuelve el Tipo Documento CHEQUE */    
Exec SP_TTDOCU_CNTB_Q01 29, @OSTI_DOCU_CHEQ Output   

-- TIPOS DE DETALLE(TI_DETA = '1' AL '7')
--1.- DOCS EMITIDOS EN ESOS MESES					
--2.- PAGOS BANCOS / CAJA
--3.- APLICACIONES DE NCR A DOCUMENTOS
--4.- CANJES
--5.- RENOVACIONES
--6.- APLICACION DE DOC. A ANTICIPOS
--8.- ANTICIPOS( SIN APLICACIONES, SALDO = IMPORTE DEPOSITO )
--7.- ANTICIPOS( CON APLICACION, SALDOS)


--1.- DOCS EMITIDOS EN ESOS MESES
-- TMDOCU_CLIE
IF @ISFL_FECH = 'E'
BEGIN
  INSERT INTO #TWDOCU_CLIE_Q21_1 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS, FE_VENC, FE_DESP, CO_TIPO_OPER,
  CO_MONE, FA_TIPO_CAMB, IM_CXCB, TI_DETA)
  Select T1.CO_EMPR, T1.CO_TIPO_DOCU , T1.NU_DOCU_CLIE , T1.CO_CLIE, T1.FE_EMIS, T1.FE_VENC, 
  T1.FE_DESP, T1.CO_TIPO_OPER, T1.CO_MONE, T1.FA_TIPO_CAMB,  
  ( PatIndex(T2.ST_SIGN,'S') - PatIndex(T2.ST_SIGN,'N') ) * T1.IM_TOTA,
  '1'
  From  TMDOCU_CLIE T1, TTDOCU_CNTB T2
  Where T1.CO_EMPR = @ISCO_EMPR
  AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T1.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
  AND ((@ISCO_MONE IS NOT NULL AND T1.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
  AND ((@ISCO_TIPO_OPER IS NOT NULL AND T1.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
  --AND PatIndex(@ISDE_CODI_CLIE , T1.TI_CLIE)>0 
  AND PatIndex( + '%'+T1.CO_TIPO_DOCU+'%',  @ISDE_CODI )>0 
  And T1.FE_EMIS <= @IDFE_FINA
  And T1.CO_ESTA_DOCU != 'ANU'
  AND T1.CO_TIPO_DOCU = T2.TI_DOCU

   --EXECUTE SP_TTDOCU_CNTB_Q01 6, @OSTI_DOCU

  If PatIndex('%LET%', @ISDE_CODI) > 0 
  INSERT INTO #TWDOCU_CLIE_Q21_1 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER,  FE_EMIS, FE_VENC,
  CO_MONE, FA_TIPO_CAMB, IM_CXCB, TI_DETA)
  Select T1.CO_EMPR, @OSTI_DOCU_LETR, T1.NU_LETR_CLIE, T1.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_EMIS, T1.FE_VENC,
  T1.CO_MONE, T1.FA_TIPO_CAMB, T1.IM_TOTA, '1'
  From   TMLETR_CLIE T1
  Where T1.CO_EMPR = @ISCO_EMPR
  AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T1.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
  AND ((@ISCO_MONE IS NOT NULL AND T1.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
  AND ((@ISCO_TIPO_OPER IS NOT NULL AND T1.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL)
  --AND PatIndex(@ISDE_CODI_CLIE , T1.TI_CLIE) >0 
  And T1.FE_EMIS <= @IDFE_FINA
  And T1.CO_ESTA_DOCU != 'ANU'
END


IF @ISFL_FECH = 'V'
BEGIN
  INSERT INTO #TWDOCU_CLIE_Q21_1 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS, FE_VENC, FE_DESP, CO_TIPO_OPER,
  CO_MONE, FA_TIPO_CAMB, IM_CXCB, TI_DETA)
  Select T1.CO_EMPR, T1.CO_TIPO_DOCU , T1.NU_DOCU_CLIE , T1.CO_CLIE, T1.FE_EMIS, T1.FE_VENC, 
  T1.FE_DESP, T1.CO_TIPO_OPER, T1.CO_MONE, T1.FA_TIPO_CAMB, T1.IM_TOTA, '1'
  From  TMDOCU_CLIE T1, TTDOCU_CNTB T2
  Where T1.CO_EMPR = @ISCO_EMPR
  AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T1.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
  AND ((@ISCO_MONE IS NOT NULL AND T1.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
  AND ((@ISCO_TIPO_OPER IS NOT NULL AND T1.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
  --AND PatIndex(@ISDE_CODI_CLIE , T1.TI_CLIE)>0 
  AND PatIndex( + '%'+T1.CO_TIPO_DOCU+'%',  @ISDE_CODI )>0 

 And T1.FE_VENC <= @IDFE_FINA
  And T1.CO_ESTA_DOCU != 'ANU'
  AND T1.CO_TIPO_DOCU = T2.TI_DOCU

   --EXECUTE SP_TTDOCU_CNTB_Q01 6, @OSTI_DOCU

  If PatIndex('%LET%', @ISDE_CODI) > 0 
  INSERT INTO #TWDOCU_CLIE_Q21_1 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, FE_VENC,
  CO_MONE, FA_TIPO_CAMB, IM_CXCB, TI_DETA)
  Select T1.CO_EMPR, @OSTI_DOCU_LETR, T1.NU_LETR_CLIE, T1.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_EMIS, T1.FE_VENC,
  T1.CO_MONE, T1.FA_TIPO_CAMB, T1.IM_TOTA, '1'
  From   TMLETR_CLIE T1
  Where  T1.CO_EMPR = @ISCO_EMPR
  AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T1.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
 AND ((@ISCO_MONE IS NOT NULL AND T1.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
  AND ((@ISCO_TIPO_OPER IS NOT NULL AND T1.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL)
  --AND PatIndex(@ISDE_CODI_CLIE , T1.TI_CLIE) >0 
And T1.FE_VENC <= @IDFE_FINA
  And T1.CO_ESTA_DOCU != 'ANU'
END

--2.- PAGOS BANCOS / CAJA
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
Select T1.CO_EMPR, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI, T1.CO_ENTI, T2.CO_TIPO_OPER, T2.FE_OPER,
T4.CO_MONE, T2.FA_TIPO_CAMB,
( ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )*PatIndex(T1.TI_MOVI_BANC,'I')-
  ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )*PatIndex(T1.TI_MOVI_BANC,'E')
)*( PatIndex(T1.ST_CIER_DOCU, 'N') * T1.IM_CONV_DOCU +
    PatIndex(T1.ST_CIER_DOCU, 'S') * T1.IM_SALD_DOCU ), 
'2'
From  TDMOVI_BANC T1, TCMOVI_BANC T2, TMCNTA_BANC T3, TMDOCU_CLIE T4, TTDOCU_CNTB T5
Where  T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND PatIndex( '%'+T4.CO_TIPO_DOCU+'%', @ISDE_CODI)>0 
--And    T1.TI_MOVI_BANC = 'I' 
And    T1.TI_ENTI = 'C'
And    T2.FE_OPER  <= @IDFE_CANC
And    T2.TI_SITU = 'ACT' 
And    T1.CO_EMPR = T2.CO_EMPR  
And    T1.CO_UNID_CONC = T2.CO_UNID_CONC
And    T1.CO_BANC = T2.CO_BANC  
And    T1.NU_CNTA_BANC  = T2.NU_CNTA_BANC  
And    T1.AA_BNCO = T2.AA_BNCO
And    T1.MM_BNCO = T2.MM_BNCO 
And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC 
And    T1.NU_COMP_BANC = T2.NU_COMP_BANC

And    T1.CO_EMPR = T3.CO_EMPR  
And    T1.CO_BANC = T3.CO_BANC  
And    T1.NU_CNTA_BANC  = T3.NU_CNTA_BANC

AND	 T1.CO_EMPR = T4.CO_EMPR
AND 	 T1.TI_DOCU_ENTI = T4.CO_TIPO_DOCU
AND 	 T1.NU_DOCU_ENTI = T4.NU_DOCU_CLIE
	
AND 	 T4.CO_TIPO_DOCU = T5.TI_DOCU
 
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
Select T1.CO_EMPR, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI, T1.CO_ENTI, T2.CO_TIPO_OPER, T2.FE_OPER,
T4.CO_MONE, T2.FA_TIPO_CAMB,
( ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )*PatIndex(T1.TI_MOVI,'I')-
  ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') )*PatIndex(T1.TI_MOVI,'E')
)*( PatIndex(T1.ST_CIER_DOCU, 'N') * T1.IM_CONV_DOCU +
    PatIndex(T1.ST_CIER_DOCU, 'S') * T1.IM_SALD_DOCU), 
'2'
From   TDMOVI_CAJA T1, TCMOVI_CAJA T2, TMCAJA T3, TMDOCU_CLIE T4, TTDOCU_CNTB T5
Where  T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND PatIndex('%'+T4.CO_TIPO_DOCU+'%', @ISDE_CODI)>0 
--And    T1.TI_MOVI = 'I'
And    T1.TI_ENTI = 'C'
And    T2.FE_OPER  <= @IDFE_CANC
And    T2.TI_SITU = 'ACT' 

And    T1.CO_EMPR = T2.CO_EMPR  
And    T1.CO_CAJA = T2.CO_CAJA
And    T1.AA_CAJA = T2.AA_CAJA

And    T1.MM_CAJA = T2.MM_CAJA 
And    T1.TI_MOVI = T2.TI_MOVI
And    T1.NU_COMP_CAJA = T2.NU_COMP_CAJA

And    T1.CO_EMPR = T3.CO_EMPR  
And    T1.CO_CAJA = T3.CO_CAJA

And	 T1.CO_EMPR = T4.CO_EMPR
AND	 T1.TI_DOCU_ENTI = T4.CO_TIPO_DOCU
And	 T1.NU_DOCU_ENTI = T4.NU_DOCU_CLIE

AND 	 T4.CO_TIPO_DOCU = T5.TI_DOCU



-- PAGOS A CHEQUES DE LA TMDOCU_CLIE EN BANCOS, CON TDCHEQ_BANC
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS, FE_VENC,
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
Select T1.CO_EMPR, T4.CO_TIPO_DOCU, T1.NU_CHEQ, T1.CO_ENTI, T4.FE_EMIS, T4.FE_VENC,
T4.CO_MONE, T2.FA_TIPO_CAMB,
( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) *T1.IM_CHEQ ,
'2'
From  TDCHEQ_BANC T1, TCMOVI_BANC T2, TMCNTA_BANC T3, TMDOCU_CLIE T4, TTDOCU_CNTB T5
Where  T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND PatIndex( '%'+T4.CO_TIPO_DOCU+'%', @ISDE_CODI)>0 
--And    T1.TI_MOVI_BANC = 'I' 
And    T1.TI_ENTI = 'C'
And    T2.FE_OPER  <= @IDFE_CANC
And    T2.TI_SITU = 'ACT' 

And    T1.CO_EMPR = T2.CO_EMPR  
And    T1.CO_BANC = T2.CO_BANC  
And    T1.NU_CNTA_BANC  = T2.NU_CNTA_BANC  
And    T1.AA_BNCO = T2.AA_BNCO
And    T1.MM_BNCO = T2.MM_BNCO 
And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC 
And    T1.NU_COMP_BANC = T2.NU_COMP_BANC

And    T1.CO_EMPR = T3.CO_EMPR  
And    T1.CO_BANC = T3.CO_BANC  
And    T1.NU_CNTA_BANC  = T3.NU_CNTA_BANC

AND	 T1.CO_EMPR = T4.CO_EMPR
AND 	 T4.CO_TIPO_DOCU = @OSTI_DOCU_CHEQ
AND 	 T1.NU_CHEQ = T4.NU_DOCU_CLIE
	
AND 	 T4.CO_TIPO_DOCU = T5.TI_DOCU


-- PAGOS LETRAS 
If PatIndex('%LET%', @ISDE_CODI) > 0 
	BEGIN
	INSERT INTO #TWDOCU_CLIE_Q21_1 
	(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
	CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
	Select T1.CO_EMPR, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI, T1.CO_ENTI, T2.CO_TIPO_OPER, T2.FE_OPER,
	T4.CO_MONE, T2.FA_TIPO_CAMB,
	(PatIndex(T1.TI_MOVI_BANC,'I') - PatIndex(T1.TI_MOVI_BANC,'E'))*(
	PatIndex(T1.ST_CIER_DOCU, 'N') * T1.IM_CONV_DOCU +
	PatIndex(T1.ST_CIER_DOCU, 'S') * T1.IM_SALD_DOCU),
	'2'
	From  TDMOVI_BANC T1, TCMOVI_BANC T2, TMCNTA_BANC T3, TMLETR_CLIE T4
	Where  T4.CO_EMPR = @ISCO_EMPR
	AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
	AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
	AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
	--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
	--And    T1.TI_MOVI_BANC = 'I' 
	And    T1.TI_ENTI = 'C'
	And    T2.FE_OPER  <= @IDFE_CANC
	And    T2.TI_SITU = 'ACT' 
	And    T1.CO_EMPR = T2.CO_EMPR  
	And    T1.CO_UNID_CONC = T2.CO_UNID_CONC
	And    T1.CO_BANC = T2.CO_BANC  
	And    T1.NU_CNTA_BANC  = T2.NU_CNTA_BANC  
	And    T1.AA_BNCO = T2.AA_BNCO
	And    T1.MM_BNCO = T2.MM_BNCO 
	And    T1.TI_MOVI_BANC  = T2.TI_MOVI_BANC 
	And    T1.NU_COMP_BANC = T2.NU_COMP_BANC

	And    T1.CO_EMPR = T3.CO_EMPR  
	And    T1.CO_BANC = T3.CO_BANC  
	And    T1.NU_CNTA_BANC  = T3.NU_CNTA_BANC

	AND	 T1.CO_EMPR = T4.CO_EMPR
	AND	 T1.TI_DOCU_ENTI = @OSTI_DOCU_LETR
	AND 	 T1.NU_DOCU_ENTI = T4.NU_LETR_CLIE


	INSERT INTO #TWDOCU_CLIE_Q21_1 
	(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
	CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
	Select T1.CO_EMPR, T1.TI_DOCU_ENTI, T1.NU_DOCU_ENTI, T1.CO_ENTI, T2.CO_TIPO_OPER, T2.FE_OPER,
	T4.CO_MONE, T2.FA_TIPO_CAMB,
	(PatIndex(T1.TI_MOVI,'I') - PatIndex(T1.TI_MOVI,'E'))*(
	PatIndex(T1.ST_CIER_DOCU, 'N') * T1.IM_CONV_DOCU +
	PatIndex(T1.ST_CIER_DOCU, 'S') * T1.IM_SALD_DOCU),
	'2'
	From   TDMOVI_CAJA T1, TCMOVI_CAJA T2, TMCAJA T3, TMLETR_CLIE T4
	Where  T4.CO_EMPR = @ISCO_EMPR
	AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
	AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
	AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
	--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
	-- And    T1.TI_MOVI = 'I'
	And    T1.TI_ENTI = 'C'
	And    T2.FE_OPER  <= @IDFE_CANC
	And    T2.TI_SITU = 'ACT' 

	And    T1.CO_EMPR = T2.CO_EMPR  
	And    T1.CO_CAJA = T2.CO_CAJA
	And    T1.AA_CAJA = T2.AA_CAJA
	And    T1.MM_CAJA = T2.MM_CAJA 
	And    T1.TI_MOVI = T2.TI_MOVI
And T1.NU_COMP_CAJA = T2.NU_COMP_CAJA

	And    T1.CO_EMPR = T3.CO_EMPR  
	And    T1.CO_CAJA = T3.CO_CAJA

	And	 T1.CO_EMPR = T4.CO_EMPR
	AND	 T1.TI_DOCU_ENTI = @OSTI_DOCU_LETR
	And	 T1.NU_DOCU_ENTI = T4.NU_LETR_CLIE

	END


--3.- APLICACIONES DE NOTA DE CREDITOS A DOCUMENTOS

-- DOCUMENTOS
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_AMAR,
T4.CO_MONE, T1.FA_TIPO_CAMB, 
(PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * ISNULL(T2.IM_COBR_CDES, 0),
'3'
From   TCAMAR_NCCL T1 , TDAMAR_NCCL T2, TMDOCU_CLIE T4, TTDOCU_CNTB T5
Where T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND PatIndex('%'+T4.CO_TIPO_DOCU+'%', @ISDE_CODI) > 0 
AND	 T1.CO_EMPR =   T4.CO_EMPR
AND	 T4.CO_TIPO_DOCU != @OSTI_DOCU_NCRE
And    T1.FE_AMAR  <= @IDFE_CANC
AND    T1.TI_SITU = 'ACT'
AND    T2.CO_TIDO_DEST = T4.CO_TIPO_DOCU 
AND    T2.NU_DOCU_DEST = T4.NU_DOCU_CLIE 
AND    T1.CO_EMPR = T2.CO_EMPR  
AND    T1.NU_AMAR = T2.NU_AMAR
AND    T2.CO_EMPR = T4.CO_EMPR
AND    T1.CO_CLIE = T4.CO_CLIE
AND    T2.CO_TIDO_DEST = T4.CO_TIPO_DOCU
AND    T2.NU_DOCU_DEST = T4.NU_DOCU_CLIE
AND	 T4.CO_ESTA_DOCU != 'ANU' 
And    T4.NU_REND_GAST IS NULL
AND	 T4.CO_TIPO_DOCU = T5.TI_DOCU

If PatIndex('%LET%', @ISDE_CODI) > 0 
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
SELECT T1.CO_EMPR, @OSTI_DOCU_LETR, T4.NU_LETR_CLIE, T1.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_AMAR,
T4.CO_MONE, T1.FA_TIPO_CAMB, ISNULL(T2.IM_COBR_CDES, 0),
'3'
From   TCAMAR_NCCL T1 , TDAMAR_NCCL T2, TMLETR_CLIE T4
Where T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND	 T1.CO_EMPR =   T4.CO_EMPR
And    T1.FE_AMAR  <= @IDFE_CANC
AND    T1.TI_SITU = 'ACT'
AND    T2.CO_TIDO_DEST = @OSTI_DOCU_LETR
AND    T2.NU_DOCU_DEST = T4.NU_LETR_CLIE 
AND    T1.CO_EMPR = T2.CO_EMPR  
AND    T1.NU_AMAR = T2.NU_AMAR
AND    T2.CO_EMPR = T4.CO_EMPR
AND    T1.CO_CLIE = T4.CO_CLIE
AND	 T4.CO_ESTA_DOCU != 'ANU' 


-- NOTAS DE CREDITO APLICADAS 
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_AMAR,
T4.CO_MONE, T1.FA_TIPO_CAMB,
(PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * ISNULL(T2.IM_COBR_CORI, 0),
'3'
From   TCAMAR_NCCL T1 , TDAMAR_NCCL T2, TMDOCU_CLIE T4, TTDOCU_CNTB T5
Where  T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)

AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND PatIndex('%'+T4.CO_TIPO_DOCU+'%', @ISDE_CODI) > 0 
AND	 T1.CO_EMPR = T4.CO_EMPR
AND	 T4.CO_TIPO_DOCU = @OSTI_DOCU_NCRE
And    T1.FE_AMAR <= @IDFE_CANC
AND    T1.TI_SITU = 'ACT'
AND    T2.CO_TIDO_ORIG = T4.CO_TIPO_DOCU 
AND    T2.NU_DOCU_ORIG = T4.NU_DOCU_CLIE 
AND    T1.CO_EMPR = T2.CO_EMPR  
AND    T1.NU_AMAR = T2.NU_AMAR
AND    T2.CO_EMPR = T4.CO_EMPR
AND    T1.CO_CLIE = T4.CO_CLIE
AND    T2.CO_TIDO_ORIG = T4.CO_TIPO_DOCU
AND    T2.NU_DOCU_ORIG = T4.NU_DOCU_CLIE
	  
AND	 T4.CO_ESTA_DOCU != 'ANU' 
And    T4.NU_REND_GAST IS NULL
AND 	 T4.CO_TIPO_DOCU = T5.TI_DOCU 


--4.- CANJES

-- SOLO MUESTRO LOS DOCUMENTOS QUE SE CANJEAN, NO LAS LETRAS GENERADAS
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_CANJ, 
T4.CO_MONE, T1.FA_TIPO_CAMB, 
( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * 
( PatIndex(T2.ST_CIER_DOCU,'N') * T2.IM_CANJ_MDOC + 
  PatIndex(T2.ST_CIER_DOCU,'S') * T2.IM_SALD_DOCU ),
'4'
From  TCCANJ_CLIE T1 , TDCANJ_CLIE T2 /*(INDEX = IX_TDCANJ_CLIE_01)*/, 
      TMDOCU_CLIE T4 /*(INDEX = IX_TMDOCU_CLIE_01)*/, TTDOCU_CNTB T5
Where  T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND PatIndex('%'+T4.CO_TIPO_DOCU+'%', @ISDE_CODI) > 0 
And	T1.CO_EMPR =   T4.CO_EMPR
And    T1.FE_CANJ  <= @IDFE_CANC
AND    T1.TI_SITU != 'ANU'
AND    T1.CO_EMPR = T2.CO_EMPR  
AND    T1.CO_CLIE = T2.CO_CLIE
AND    T1.NU_CANJ = T2.NU_CANJ
AND    T2.CO_EMPR = T4.CO_EMPR
AND    T2.CO_CLIE = T4.CO_CLIE
AND    T2.CO_TIPO_DOCU = T4.CO_TIPO_DOCU 
AND    T2.NU_DOCU_CLIE = T4.NU_DOCU_CLIE 

AND    ( ( T4.FE_EMIS <= @IDFE_FINA AND @ISFL_FECH = 'E' )
    OR ( T4.FE_VENC <= @IDFE_FINA AND @ISFL_FECH = 'V' ) )

AND    T4.CO_ESTA_DOCU != 'ANU' 
And    T4.NU_REND_GAST IS NULL
AND    T4.CO_TIPO_DOCU = T5.TI_DOCU  


If PatIndex('%LET%', @ISDE_CODI) > 0 
  INSERT INTO #TWDOCU_CLIE_Q21_1 
  (CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
  CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
  SELECT T1.CO_EMPR, @OSTI_DOCU_LETR, T4.NU_LETR_CLIE, T1.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_CANJ, 
  T4.CO_MONE, T1.FA_TIPO_CAMB, 
 ( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * 
 ( PatIndex(T2.ST_CIER_DOCU,'N') * T2.IM_CANJ_MDOC + 
   PatIndex(T2.ST_CIER_DOCU,'S') * T2.IM_SALD_DOCU ),
  '4'
  From  TCCANJ_CLIE T1 , TDCANJ_CLIE T2 /*(INDEX = IX_TDCANJ_CLIE_01)*/, 
        TMLETR_CLIE T4, TTDOCU_CNTB T5
  Where  T4.CO_EMPR = @ISCO_EMPR
  AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
  AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
  AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
  --AND PatIndex('%'+T4.CO_TIPO_DOCU+'%', @ISDE_CODI) > 0 
  And    T1.CO_EMPR =   T4.CO_EMPR
  And    T1.FE_CANJ  <= @IDFE_CANC
  AND    T1.TI_SITU != 'ANU'
  AND    T1.CO_EMPR = T2.CO_EMPR  
  AND    T1.CO_CLIE = T2.CO_CLIE

  AND    T1.NU_CANJ = T2.NU_CANJ
  AND    T2.CO_EMPR = T4.CO_EMPR
  AND    T2.CO_CLIE = T4.CO_CLIE
  AND    T2.CO_TIPO_DOCU = @OSTI_DOCU_LETR
  AND    T2.CO_TIPO_DOCU = T5.TI_DOCU  
  AND    T2.NU_DOCU_CLIE = T4.NU_LETR_CLIE 

  AND    ( ( T4.FE_EMIS <= @IDFE_FINA AND @ISFL_FECH = 'E' )

OR ( T4.FE_VENC <= @IDFE_FINA AND @ISFL_FECH = 'V' ) )

  AND    T4.CO_ESTA_DOCU != 'ANU' 


--5.- RENOVACIONES

-- SOLO MUESTRO LOS DOCUMENTOS QUE SE RENUEVAN, NO LAS LETRAS GENERADAS
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T1.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_RENO,
T4.CO_MONE, T1.FA_TIPO_CAMB, 
( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * 
( PatIndex(T2.ST_CIER_DOCU,'N') * T2.IM_RENO_MDOC + 
  PatIndex(T2.ST_CIER_DOCU,'S') * T2.IM_SALD_DOCU ),
'5'
From   TCRENO_CLIE T1 , TDRENO_CLIE T2, TMDOCU_CLIE T4, TTDOCU_CNTB T5
Where  T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND PatIndex('%'+T4.CO_TIPO_DOCU+'%', @ISDE_CODI) > 0 
AND	 T1.CO_EMPR =   T4.CO_EMPR
And    T1.FE_RENO  <= @IDFE_CANC
AND    T1.TI_SITU != 'ANU'
AND    T1.CO_EMPR = T2.CO_EMPR  
AND    T1.CO_CLIE = T2.CO_CLIE
AND    T1.NU_RENO = T2.NU_RENO
AND    T2.CO_CLIE = T4.CO_CLIE
AND    T2.CO_TIPO_DOCU = T4.CO_TIPO_DOCU 
AND    T2.NU_DOCU_CLIE = T4.NU_DOCU_CLIE 

AND    ( ( T4.FE_EMIS <= @IDFE_FINA AND @ISFL_FECH = 'E' )
    OR ( T4.FE_VENC <= @IDFE_FINA AND @ISFL_FECH = 'V' ) )

AND	 T4.CO_ESTA_DOCU != 'ANU' 
And  T4.NU_REND_GAST IS NULL
AND	 T4.CO_TIPO_DOCU = T5.TI_DOCU

If PatIndex('%LET%', @ISDE_CODI) > 0 
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
SELECT T1.CO_EMPR, @OSTI_DOCU_LETR, T4.NU_LETR_CLIE, T1.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_RENO,
T4.CO_MONE, T1.FA_TIPO_CAMB, 
( PatIndex(T2.ST_CIER_DOCU,'N') * T2.IM_RENO_MDOC + 
  PatIndex(T2.ST_CIER_DOCU,'S') * T2.IM_SALD_DOCU ),
'5'
From   TCRENO_CLIE T1 , TDRENO_CLIE T2, TMLETR_CLIE T4
Where  T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
----AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND	 T1.CO_EMPR =   T4.CO_EMPR
And    T1.FE_RENO  <= @IDFE_CANC
AND    T1.TI_SITU != 'ANU'
AND    T1.CO_EMPR = T2.CO_EMPR  
AND    T1.CO_CLIE = T2.CO_CLIE
AND    T1.NU_RENO = T2.NU_RENO
AND    T2.CO_CLIE = T4.CO_CLIE
AND    T2.CO_TIPO_DOCU = @OSTI_DOCU_LETR
AND    T2.NU_DOCU_CLIE = T4.NU_LETR_CLIE 
AND    ( ( T4.FE_EMIS <= @IDFE_FINA AND @ISFL_FECH = 'E' )
    OR ( T4.FE_VENC <= @IDFE_FINA AND @ISFL_FECH = 'V' ) )
AND	 T4.CO_ESTA_DOCU != 'ANU'



--6.- APLICACION DE DOCUMENTOS A ANTICIPOS

-- SOLO MUESTRO LOS DOCUMENTOS QUE SE APLICAN
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
SELECT T1.CO_EMPR, T4.CO_TIPO_DOCU, T4.NU_DOCU_CLIE, T4.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_AMAR,
T4.CO_MONE, T1.FA_TIPO_CAMB,
PatIndex(T2.ST_CIER_DOCU, 'N')*
( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T2.IM_CONV_DOCU +
PatIndex(T2.ST_CIER_DOCU, 'S')*
( PatIndex(T5.ST_SIGN,'S') - PatIndex(T5.ST_SIGN,'N') ) * T2.IM_SALD_DOCU,
'6'
From   TCAMAR_ANTC T1 , TDAMAR_ANTC T2, TMDOCU_CLIE T4, TTDOCU_CNTB T5
Where  T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
AND PatIndex('%'+T4.CO_TIPO_DOCU+'%', @ISDE_CODI) > 0 
And    T2.FE_AMAR_DETA  <= @IDFE_CANC
AND    T1.TI_SITU != 'ANU'
AND    T1.CO_EMPR = T2.CO_EMPR  
AND    T1.NU_AMAR = T2.NU_AMAR
AND	 T2.CO_EMPR =   T4.CO_EMPR
AND    T2.TI_ENTI = 'C'
AND    T2.TI_DOCU_ENTI = T4.CO_TIPO_DOCU 
AND    T2.NU_DOCU_ENTI = T4.NU_DOCU_CLIE 
AND    ( ( T4.FE_EMIS <= @IDFE_FINA AND @ISFL_FECH = 'E' )
    OR ( T4.FE_VENC <= @IDFE_FINA AND @ISFL_FECH = 'V' ) )
AND	 T4.CO_ESTA_DOCU != 'ANU' 
And    T4.NU_REND_GAST IS NULL
AND	 T4.CO_TIPO_DOCU = T5.TI_DOCU

If PatIndex('%LET%', @ISDE_CODI) > 0 
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
SELECT T1.CO_EMPR, @OSTI_DOCU_LETR, T4.NU_LETR_CLIE, T4.CO_CLIE, T1.CO_TIPO_OPER, T1.FE_AMAR,
T4.CO_MONE, T1.FA_TIPO_CAMB,
PatIndex(T2.ST_CIER_DOCU, 'N') * T2.IM_CONV_DOCU +
PatIndex(T2.ST_CIER_DOCU, 'S') * T2.IM_SALD_DOCU,
'6'
From   TCAMAR_ANTC T1 , TDAMAR_ANTC T2, TMLETR_CLIE T4
Where  T4.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T4.CO_CLIE) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T4.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T4.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE , T4.TI_CLIE)>0 
And    T2.FE_AMAR_DETA <= @IDFE_CANC
AND    T1.TI_SITU != 'ANU'
AND    T1.CO_EMPR = T2.CO_EMPR  
AND    T1.NU_AMAR = T2.NU_AMAR
AND	 T2.CO_EMPR =   T4.CO_EMPR
AND	 T2.TI_ENTI = 'C'
AND    T2.CO_ENTI = T4.CO_CLIE
AND    T2.TI_DOCU_ENTI = @OSTI_DOCU_LETR
AND    T2.NU_DOCU_ENTI = T4.NU_LETR_CLIE 
AND    ( ( T4.FE_EMIS <= @IDFE_FINA AND @ISFL_FECH = 'E' )
OR ( T4.FE_VENC <= @IDFE_FINA AND @ISFL_FECH = 'V' ) )
AND	 T4.CO_ESTA_DOCU != 'ANU'


--7.- ANTICIPOS - PAGOS BANCOS 

INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
Select T2.CO_EMPR, T2.CO_TIPO_DOCU, T2.NU_DOCU_BANC, T2.CO_ENTI, T2.CO_TIPO_OPER, T2.FE_OPER,
T3.CO_MONE, T2.FA_TIPO_CAMB, T2.IM_MOVI, 
'7'
From  TCMOVI_BANC T2, TMCNTA_BANC T3,  TTTIPO_OPER T5
Where  T2.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T2.CO_ENTI) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T3.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T2.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE, T4.TI_CLIE)>0 
AND PatIndex('%'+T2.CO_TIPO_DOCU+'%', @ISDE_CODI) > 0  
And    T2.TI_MOVI_BANC = 'I' 
And    T2.TI_ENTI = 'C'
And    T2.FE_OPER  <= @IDFE_CANC
And    T2.TI_SITU = 'ACT' 
And    T2.CO_EMPR = T3.CO_EMPR  
And    T2.CO_BANC = T3.CO_BANC  
And    T2.NU_CNTA_BANC  = T3.NU_CNTA_BANC
--AND	 T2.CO_EMPR = T4.CO_EMPR
--AND 	 T2.CO_ENTI = T4.CO_CLIE 
AND	 T2.CO_EMPR = T5.CO_EMPR
AND 	 T2.CO_TIPO_OPER = T5.CO_TIPO_OPER
AND    T5.ST_AUXI_0002 = 'S'

--8.- ANTICIPOS - PAGOS BANCOS 
-- ANTICIPO CON APLICACION 
INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_TIPO_OPER, FE_EMIS,
CO_MONE, FA_TIPO_CAMB, IM_CXCB, TI_DETA)
Select T2.CO_EMPR, T2.CO_TIPO_DOCU, T2.NU_DOCU_BANC, T2.CO_ENTI, MAX(T6.CO_TIPO_OPER), T7.FE_AMAR_DETA,
T3.CO_MONE, MAX(T2.FA_TIPO_CAMB),
ISNULL(SUM(T7.IM_DETA_NEGA),0),
'8'
From  TCMOVI_BANC T2, TMCNTA_BANC T3, TTTIPO_OPER T5, TCAMAR_ANTC T6
LEFT OUTER JOIN TDAMAR_ANTC T7
ON  T6.CO_EMPR = T7.CO_EMPR 
AND T6.NU_AMAR = T7.NU_AMAR
Where  T2.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T2.CO_ENTI) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T3.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T2.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE, T4.TI_CLIE)>0 
AND PatIndex('%'+T2.CO_TIPO_DOCU+'%', @ISDE_CODI) > 0  
And    T2.TI_MOVI_BANC = 'I' 
And  T2.TI_ENTI = 'C'
And   T6.FE_OPER <= @IDFE_FINA 
And    T7.FE_AMAR_DETA  <= @IDFE_CANC
And    T2.TI_SITU = 'ACT' 
And   T2.CO_EMPR = T3.CO_EMPR  
And    T2.CO_BANC = T3.CO_BANC 
And    T2.NU_CNTA_BANC  = T3.NU_CNTA_BANC
--AND	 T2.CO_EMPR = T4.CO_EMPR
--AND 	 T2.CO_ENTI = T4.CO_CLIE 
AND	   T2.CO_EMPR = T5.CO_EMPR
AND    T2.CO_TIPO_OPER = T5.CO_TIPO_OPER
AND    T5.ST_AUXI_0002 = 'S'
AND	   T6.TI_SITU = 'ACT'
AND	   T2.CO_EMPR = T6.CO_EMPR
And    T2.CO_BANC = T6.CO_BANC  
And    T2.NU_CNTA_BANC  = T6.NU_CNTA_BANC
And    T2.AA_BNCO = T6.AA_BNCO
And    T2.MM_BNCO = T6.MM_BNCO
And    T2.NU_COMP_BANC = T6.NU_COMP_BANC
GROUP BY T2.CO_EMPR, T2.CO_TIPO_DOCU, T2.NU_DOCU_BANC, T2.CO_ENTI, T3.CO_MONE, 
	   T2.CO_BANC, T2.NU_CNTA_BANC, T2.NU_COMP_BANC , T7.FE_AMAR_DETA

--HAVING ( -1*(MAX(T2.IM_MOVI) - ISNULL( SUM( T7.IM_DETA_NEGA ), 0)) ) != 0

/** ANTICIPOS CAJA **/ 
/** SIN APLICACION **/

INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS, FE_VENC, 
CO_MONE, FA_TIPO_CAMB, IM_PAGO, TI_DETA)
Select T2.CO_EMPR, 'ANT', T2.CO_CAJA+' ' +T2.NU_COMP_CAJA, 
T2.CO_ENTI, T2.FE_OPER, T2.FE_OPER, 
T3.CO_MONE, T2.FA_TIPO_CAMB, T2.IM_MOVI, 
'7'
From  TCMOVI_CAJA T2, TMCAJA T3,  TTTIPO_OPER T5
Where  T2.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T2.CO_ENTI) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T3.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T2.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE, T4.TI_CLIE)>0 
AND  PatIndex('%ANT%', @ISDE_CODI) > 0    
And T2.TI_MOVI = 'I' 
And    T2.TI_ENTI = 'C'
And    T2.FE_OPER  <= @IDFE_CANC
And    T2.TI_SITU = 'ACT' 
And    T2.CO_EMPR = T3.CO_EMPR  
And    T2.CO_CAJA = T3.CO_CAJA
--AND	 T2.CO_EMPR = T4.CO_EMPR
--AND 	 T2.CO_ENTI = T4.CO_CLIE 
AND	 T2.CO_EMPR = T5.CO_EMPR
AND 	 T2.CO_TIPO_OPER = T5.CO_TIPO_OPER
AND    T5.ST_AUXI_0002 = 'S'


/** ANTICIPOS CAJA **/ 
/** CON APLICACION **/


INSERT INTO #TWDOCU_CLIE_Q21_1 
(CO_EMPR, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, FE_EMIS, FE_VENC, 
CO_MONE, FA_TIPO_CAMB, 
IM_CXCB, TI_DETA)
Select T2.CO_EMPR, 'ANT', T2.CO_CAJA+' '+ T2.NU_COMP_CAJA, 
T2.CO_ENTI, T7.FE_AMAR_DETA, MAX(T2.FE_OPER),
T3.CO_MONE, MAX(T2.FA_TIPO_CAMB), 
ISNULL(SUM(T7.IM_DETA_NEGA), 0), 
'8'
From  TCMOVI_CAJA T2, TMCAJA T3, TTTIPO_OPER T5, TCAMAR_ANTC T6
LEFT OUTER JOIN TDAMAR_ANTC T7
ON  T6.CO_EMPR = T7.CO_EMPR 
AND T6.NU_AMAR = T7.NU_AMAR
Where  T2.CO_EMPR = @ISCO_EMPR
AND ((@ISCO_CLIE IS NOT NULL AND RTRIM(T2.CO_ENTI) = RTRIM(@ISCO_CLIE)) OR @ISCO_CLIE IS NULL)
AND ((@ISCO_MONE IS NOT NULL AND T3.CO_MONE = @ISCO_MONE) OR @ISCO_MONE IS NULL)
AND ((@ISCO_TIPO_OPER IS NOT NULL AND T2.CO_TIPO_OPER = @ISCO_TIPO_OPER) OR @ISCO_TIPO_OPER IS NULL) 
--AND PatIndex(@ISDE_CODI_CLIE, T4.TI_CLIE)>0 
AND PatIndex ('%ANT%', @ISDE_CODI) > 0  
And    T2.TI_MOVI = 'I' 
And    T2.TI_ENTI = 'C'
And    T6.FE_OPER <= @IDFE_FINA 
And    T7.FE_AMAR_DETA <= @IDFE_CANC
And    T2.TI_SITU = 'ACT' 
And    T2.CO_EMPR = T3.CO_EMPR  
And    T2.CO_CAJA = T3.CO_CAJA
--AND	 T2.CO_EMPR = T4.CO_EMPR
--AND 	 T2.CO_ENTI = T4.CO_CLIE 
AND	 T2.CO_EMPR = T5.CO_EMPR
AND 	 T2.CO_TIPO_OPER = T5.CO_TIPO_OPER
AND    T5.ST_AUXI_0002 = 'S'
AND	 T6.TI_SITU = 'ACT'
AND	 T2.CO_EMPR = T6.CO_EMPR 
And    T2.CO_CAJA = T6.CO_CAJA
And    T2.AA_CAJA = T6.AA_CAJA
And    T2.MM_CAJA = T6.MM_CAJA
And    T2.NU_COMP_CAJA = T6.NU_COMP_CAJA
GROUP BY T2.CO_EMPR, T2.CO_TIPO_DOCU, T2.NU_DOCU, T2.CO_ENTI, T3.CO_MONE, 
	   T2.CO_CAJA, T2.NU_COMP_CAJA, T7.FE_AMAR_DETA
--HAVING ( -1*(MAX(T2.IM_MOVI) - ISNULL( SUM( T7.IM_DETA_NEGA ), 0)) ) != 0


------------------------------------------------------------------

-----	CONVIERTO LOS IMPORTES A LA MONEDA DE PRESENTACION
------------------------------------------------------------------

  UPDATE #TWDOCU_CLIE_Q21_1
  SET IM_CXCB_CONV = IM_CXCB,
      IM_PAGO_CONV = IM_PAGO
  WHERE CO_MONE = @ISCO_MONE_PRES

  IF @ISCO_MONE IS NULL
     SELECT TOP 1 @VSTI_CAMB = TI_CAMB, @VSTI_ORIG = TI_ORIG
     FROM   TMPARA_TESO
  ELSE
     SELECT @VSTI_CAMB = TI_CAMB, @VSTI_ORIG = TI_ORIG
     FROM   TMPARA_TESO
     WHERE  CO_EMPR = @ISCO_EMPR

  SELECT @VNIM_CXCB_CONV = 0, @VNIM_PAGO_CONV = 0

  DECLARE  CU_TMDOCU_CLIE_Q21_1 CURSOR
  FOR	
  SELECT  CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, CO_MONE, IM_CXCB, IM_PAGO, 
          FE_EMIS, FA_TIPO_CAMB, TI_DETA
  FROM    #TWDOCU_CLIE_Q21_1
  WHERE   CO_MONE != @ISCO_MONE_PRES
  AND	  IM_CXCB != IM_PAGO  --PARA QUE EL CONVERTIDO FINAL SEA 0 CUANDO ESTA CANCELADO

  OPEN  CU_TMDOCU_CLIE_Q21_1
  FETCH CU_TMDOCU_CLIE_Q21_1 
  INTO  @CSCO_EMPR, @CSCO_CLIE, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CSCO_MONE, @CNIM_CXCB, @CNIM_PAGO,
        @CDFE_EMIS, @CNFA_TIPO_CAMB, @CSTI_DETA


  SELECT @VNFE_0001  = @@FETCH_STATUS
  WHILE (@VNFE_0001 = 0)
    BEGIN
      IF (@VNFE_0001 < 0)
     	BEGIN
            RAISERROR 20001 'FIN DE ARCHIVO'
 	    Close CU_TMDOCU_CLIE_Q21_1
	    Deallocate CU_TMDOCU_CLIE_Q21_1
	    Return
        END		

     IF @CNIM_CXCB != 0
      EXEC SP_TCFACT_CAMB_Q01 @CSCO_EMPR, @CSCO_MONE, @ISCO_MONE_PRES, @CDFE_EMIS, @CNIM_CXCB,
           @VSTI_CAMB, @VSTI_ORIG, @ISST_USUA, @INFA_USUA, @VNIM_CXCB_CONV OUTPUT

     IF @CNIM_PAGO != 0
      EXEC SP_TCFACT_CAMB_Q01 @CSCO_EMPR, @CSCO_MONE, @ISCO_MONE_PRES, @CDFE_EMIS, @CNIM_PAGO,
           @VSTI_CAMB, @VSTI_ORIG, @ISST_USUA, @INFA_USUA, @VNIM_PAGO_CONV OUTPUT

      UPDATE  #TWDOCU_CLIE_Q21_1
      SET     IM_CXCB_CONV = @VNIM_CXCB_CONV,
              IM_PAGO_CONV = @VNIM_PAGO_CONV
      WHERE   CURRENT OF CU_TMDOCU_CLIE_Q21_1

      SELECT @VNIM_CXCB_CONV = 0, @VNIM_PAGO_CONV = 0

      FETCH CU_TMDOCU_CLIE_Q21_1 
      INTO  @CSCO_EMPR, @CSCO_CLIE, @CSCO_TIPO_DOCU, @CSNU_DOCU_CLIE, @CSCO_MONE, @CNIM_CXCB, @CNIM_PAGO,
            @CDFE_EMIS, @CNFA_TIPO_CAMB, @CSTI_DETA

      SELECT @VNFE_0001 = @@FETCH_STATUS

  END

  CLOSE CU_TMDOCU_CLIE_Q21_1
  DEALLOCATE CU_TMDOCU_CLIE_Q21_1
/*
SELECT 	CO_TIPO_DOCU, NU_DOCU_CLIE, FE_EMIS, CO_MONE, IM_CXCB, IM_CXCB_CONV, IM_PAGO, 
	IM_PAGO_CONV, IM_CONV, IM_CONV_TOTA, TI_DETA
FROM 	#TWDOCU_CLIE_Q21_1
ORDER BY CO_EMPR, TI_CLIE, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE
*/
--------------------------------------------------------------------------------
-----------           AGRUPO POR DOCUMENTO Y LO INSERTO EN LA TABLA TEMPORAL
--------------------------------------------------------------------------------

INSERT INTO #TWDOCU_CLIE_Q21_1 
	(CO_EMPR, TI_CLIE, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE, FE_EMIS, FE_VENC, FE_DESP, CO_TIPO_OPER, CO_MONE,
   	FA_TIPO_CAMB, IM_CXCB, IM_PAGO, IM_CXCB_CONV, IM_PAGO_CONV, IM_CONV, ST_FLAG)
	SELECT T1.CO_EMPR, MAX(T3.CO_TIPO_CLIE), T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, MIN(T1.FE_EMIS), 
	MAX(T1.FE_VENC), MAX(T1.FE_DESP), MAX(T1.CO_TIPO_OPER), MAX(T1.CO_MONE), MAX(T1.FA_TIPO_CAMB), 
	SUM(T1.IM_CXCB), SUM(T1.IM_PAGO), SUM(T1.IM_CXCB_CONV), SUM(T1.IM_PAGO_CONV), 
	SUM(T1.IM_CXCB_CONV - T1.IM_PAGO_CONV), 'S'
   	FROM 	#TWDOCU_CLIE_Q21_1 T1, /*(SELECT 	CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE,
						FE_EMIS, FE_VENC, FE_DESP
					FROM 	#TWDOCU_CLIE_Q21_1
					WHERE 	TI_DETA = '1'
					OR 	TI_DETA = '7') T4, */TMAUXI_EMPR T2,TTTIPO_CLIE T3 
	WHERE T1.FE_EMIS >= @IDFE_INIC
	AND T2.TI_AUXI_EMPR = 'C'
	AND PATINDEX('%'+T3.CO_TIPO_CLIE+'%', @ISDE_CODI_CLIE)>0
/*	AND T1.CO_EMPR = T4.CO_EMPR
	AND T1.CO_CLIE = T4.CO_CLIE
	AND T1.CO_TIPO_DOCU = T4.CO_TIPO_DOCU
	AND T1.NU_DOCU_CLIE = T4.NU_DOCU_CLIE*/
	AND T1.CO_EMPR = T2.CO_EMPR
	AND T2.CO_AUXI_EMPR = T1.CO_CLIE
	AND T2.TI_CLIE = T3.CO_TIPO_CLIE
	GROUP BY T1.CO_EMPR, T1.CO_CLIE, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE

--SELECT * FROM #TWDOCU_CLIE_Q21_1
--WHERE ST_FLAG = 'S'
--ORDER BY CO_EMPR, CO_CLIE, CO_TIPO_DOCU, NU_DOCU_CLIE

IF @ISTI_SALD = 'C'
	DELETE	#TWDOCU_CLIE_Q21_1
   	WHERE 	ST_FLAG = 'S' 	
	AND 	IM_CXCB = IM_PAGO

	

IF @ISTI_SALD = 'S'
	DELETE	#TWDOCU_CLIE_Q21_1
   	WHERE 	ST_FLAG = 'S' 	
	AND	IM_CXCB != IM_PAGO

	
-- SALDOS INICIALES
	INSERT INTO #TWDOCU_CLIE_Q21_2(CO_EMPR, TI_CLIE, CO_CLIE, CO_MONE, IM_SAIN, IM_SAIN_CONV) 
	SELECT T1.CO_EMPR, T2.TI_CLIE, T1.CO_CLIE, T1.CO_MONE, 
	SUM(ISNULL(T1.IM_CXCB, 0)) - SUM(ISNULL(T1.IM_PAGO, 0)), SUM(ISNULL(T1.IM_CXCB_CONV - T1.IM_PAGO_CONV, 0))
	FROM #TWDOCU_CLIE_Q21_1 T1, TMAUXI_EMPR T2
	WHERE T1.FE_EMIS < @IDFE_INIC
	AND T1.ST_FLAG IS NULL
	AND T1.CO_EMPR = T2.CO_EMPR
	AND T2.TI_AUXI_EMPR = @ISTI_AUXI_CLIE
	AND T1.CO_CLIE = T2.CO_AUXI_EMPR
	GROUP BY T1.CO_EMPR, T2.TI_CLIE, T1.CO_CLIE, T1.CO_MONE

DELETE #TWDOCU_CLIE_Q21_1
WHERE ST_FLAG IS NULL

--SELECT * FROM #TWDOCU_CLIE_Q21_2
--SELECT * FROM #TWDOCU_CLIE_Q21_1

--DETALLADO
IF @ISTI_REPO = 'D' 
BEGIN
	
	IF @ISDE_ORDE = '1'
		SELECT @VSDE_ORDE = ' ORDER BY 1, 30, 3, 29, 5, 28, 31, 7, 8 '
	IF @ISDE_ORDE = '2'
		SELECT @VSDE_ORDE = ' ORDER BY 1, 30, 3, 29, 5, 28, 7 , 8 '
	IF @ISDE_ORDE = '3'
		SELECT @VSDE_ORDE = ' ORDER BY 1, 30, 3, 29, 6, 28, 7, 8 '

	SELECT  @VSFE_INIC = CONVERT(VARCHAR(10), @IDFE_INIC, 103),
		@VSFE_FINA = CONVERT(VARCHAR(10), @IDFE_FINA, 103)


--   IF @ISDE_ORDE = '1' OR @ISDE_ORDE = '3'

/*SELECT T1.CO_EMPR,  T1.DE_NOMB, T1.TI_CLIE, T1.DE_TIPO_CLIE, T1.CO_CLIE, T1.NO_AUXI,  
T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.FE_EMIS, T1.FE_VENC, T1.CO_MONE, T1.CO_TIPO_OPER,
T1.IM_SAIN, T1.IM_SAIN_CONV, T1.IM_CXCB, T1.IM_PAGO, T1.FA_TIPO_CAMB, T1.NO_DIRE, T1.CO_UBIC_GEOG, 
T1.NU_TLFN, T1.NU_FAXE, T1.IM_LIMI_CRED, T1.CO_MONE_CRED, T1.FE_DESP, T1.IM_CONV, T1.IM_CONV_TOTA, 
T1.DE_MONE, T1.TI_DETA_CLIE, T1.TI_DETA_TICL, T1.TI_DETA_EMPR, T1.FE_EMIS_AUXI
*/

	INSERT INTO #TWDOCU_CLIE_Q21_3 ( CO_EMPR, TI_CLIE, CO_CLIE, CO_TIPO_DOCU,
	NU_DOCU_CLIE, FE_EMIS, FE_VENC, CO_MONE, CO_TIPO_OPER, IM_SAIN, IM_SAIN_CONV,
	IM_CXCB, IM_PAGO, FA_TIPO_CAMB, FE_DESP, IM_CONV, IM_CONV_TOTA, TI_DETA_CLIE, 
	TI_DETA_TICL, TI_DETA_EMPR)
	SELECT  T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE, T1.CO_TIPO_DOCU, 
	T1.NU_DOCU_CLIE, T1.FE_EMIS, T1.FE_VENC, T1.CO_MONE, T1.CO_TIPO_OPER, 0, 0, 
	ISNULL( T1.IM_CXCB, 0 ), ISNULL( T1.IM_PAGO, 0 ), ISNULL( T1.FA_TIPO_CAMB, 0 ), 
	T1.FE_DESP, T1.IM_CONV, 0, '1', '1', '1'
	FROM #TWDOCU_CLIE_Q21_1 T1 
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE, '',
	'', MAX(T1.FE_EMIS), NULL, MAX(T2.CO_MONE), '',	ISNULL( MAX(T3.IM_SAIN), 0 ), ISNULL( MAX(T3.IM_SAIN_CONV), 0 
), 
	SUM(ISNULL(T1.IM_CXCB, 0)), SUM(ISNULL(T1.IM_PAGO, 0)), 0, NULL, SUM(ISNULL(T1.IM_CONV, 0)), 
	SUM(ISNULL(T1.IM_CONV, 0)) + ISNULL( MAX(T3.IM_SAIN_CONV), 0 ), '2', '1', '1'
	FROM 	#TWDOCU_CLIE_Q21_1 T1    
    INNER JOIN TTMONE T2
    ON T1.CO_MONE = T2.CO_MONE 	
    LEFT OUTER JOIN #TWDOCU_CLIE_Q21_2 T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	And T1.CO_CLIE = T3.CO_CLIE
	And T1.CO_MONE = T3.CO_MONE
	GROUP BY T1.CO_EMPR,  T1.TI_CLIE, T1.CO_CLIE, T1.CO_MONE
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE, '',
	'', NULL, NULL, T2.CO_MONE, '', ISNULL(T1.IM_SAIN, 0), ISNULL(T1.IM_SAIN_CONV, 0), 
	0, 0, 0, NULL, 0, ISNULL(T1.IM_SAIN_CONV, 0), '2', '1', '1'
	FROM 	#TWDOCU_CLIE_Q21_2 T1, TTMONE T2
	WHERE 	T1.CO_MONE = T2.CO_MONE 
	AND NOT EXISTS (SELECT 	T3.CO_EMPR
			FROM 	#TWDOCU_CLIE_Q21_1 T3
			WHERE 	T3.ST_FLAG = 'S'
			AND	T1.CO_EMPR = T3.CO_EMPR
			AND 	T1.CO_CLIE = T3.CO_CLIE
			AND 	T1.CO_MONE = T3.CO_MONE )
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE, '',  
	'', NULL, NULL, '', '', 0, ISNULL(MAX(T3.IM_SAIN_CONV), 0),
	SUM(ISNULL( T1.IM_CXCB_CONV, 0 )), SUM(ISNULL( T1.IM_PAGO_CONV, 0 )), 
	0, NULL, SUM(ISNULL( T1.IM_CONV, 0 )), 
	ISNULL(MAX(T3.IM_SAIN_CONV), 0) + SUM(ISNULL( T1.IM_CXCB_CONV, 0 )) - 
	SUM(ISNULL( T1.IM_PAGO_CONV, 0 )), '3' , '1' , '1'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    LEFT OUTER JOIN (SELECT CO_EMPR, TI_CLIE, CO_CLIE, 
					SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					FROM #TWDOCU_CLIE_Q21_2 
					GROUP BY CO_EMPR, TI_CLIE, CO_CLIE) T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	AND T1.TI_CLIE = T3.TI_CLIE
	AND T1.CO_CLIE = T3.CO_CLIE
	GROUP BY T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE, '',  
	'', NULL, NULL, '', '', 0, SUM(ISNULL(T1.IM_SAIN_CONV, 0)), 
	0, 0, 0, NULL, 0, SUM(ISNULL(T1.IM_SAIN_CONV, 0)), '3', '1', '1'
	FROM 	#TWDOCU_CLIE_Q21_2 T1
	WHERE 	NOT EXISTS (SELECT 	T3.CO_EMPR
			FROM 	#TWDOCU_CLIE_Q21_1 T3
			WHERE 	T1.CO_EMPR = T3.CO_EMPR
			AND 	T1.CO_CLIE = T3.CO_CLIE )
	GROUP BY T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, (SELECT MAX(CO_CLIE)
						FROM #TWDOCU_CLIE_Q21_1), '', 
	'', MAX(T1.FE_EMIS), NULL, MAX(T2.CO_MONE), '', ISNULL(MAX(T3.IM_SAIN), 0), ISNULL(MAX(T3.IM_SAIN_CONV), 0), 
	SUM(ISNULL(T1.IM_CXCB, 0)), SUM(ISNULL(T1.IM_PAGO, 0)), 0, NULL, SUM(ISNULL(T1.IM_CONV, 0)), 
	ISNULL(MAX(T3.IM_SAIN_CONV), 0) + SUM(ISNULL(T1.IM_CONV, 0)), '2', '2', '1'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    INNER JOIN TTMONE T2
    ON T1.CO_MONE = T2.CO_MONE
    LEFT OUTER JOIN (SELECT CO_EMPR, TI_CLIE, CO_MONE,
							  SUM(IM_SAIN) IM_SAIN, 
							  SUM(IM_SAIN_CONV) IM_SAIN_CONV
						FROM #TWDOCU_CLIE_Q21_2 
						GROUP BY CO_EMPR, TI_CLIE, CO_MONE)T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	AND T1.TI_CLIE = T3.TI_CLIE
	AND T1.CO_MONE = T3.CO_MONE
	GROUP BY T1.CO_EMPR,  T1.TI_CLIE, T1.CO_MONE
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, (SELECT MAX(CO_CLIE)
						FROM #TWDOCU_CLIE_Q21_1), '', 
	'', NULL, NULL, MAX(T2.CO_MONE), '', SUM(ISNULL(T1.IM_SAIN, 0)), SUM(ISNULL(T1.IM_SAIN_CONV, 0)), 
	0, 0, 0, NULL, 0, SUM(ISNULL(T1.IM_SAIN_CONV, 0)), '2', '2', '1'
	FROM 	#TWDOCU_CLIE_Q21_2 T1, TTMONE T2
	WHERE 	T1.CO_MONE = T2.CO_MONE 
	AND NOT EXISTS (SELECT 	T3.CO_EMPR
			FROM 	#TWDOCU_CLIE_Q21_1 T3
			WHERE 	T3.ST_FLAG = 'S'
			AND	T1.CO_EMPR = T3.CO_EMPR
			AND 	T1.TI_CLIE = T3.TI_CLIE
			AND 	T1.CO_MONE = T3.CO_MONE )
	GROUP BY T1.CO_EMPR,  T1.TI_CLIE, T1.CO_MONE
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, MAX(T1.CO_CLIE), '', 
	'', NULL, NULL, '', '', 0, ISNULL(MAX(T3.IM_SAIN_CONV), 0), 
	SUM(ISNULL( T1.IM_CXCB_CONV, 0 )), SUM(ISNULL( T1.IM_PAGO_CONV, 0 )), 
	0, NULL, SUM(ISNULL( T1.IM_CONV, 0 )), 
	ISNULL(MAX(T3.IM_SAIN_CONV), 0) + SUM(ISNULL( T1.IM_CXCB_CONV, 0 )) - 
	SUM(ISNULL( T1.IM_PAGO_CONV, 0 )), '3' , '3' , '1'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    LEFT OUTER JOIN (SELECT CO_EMPR, TI_CLIE, 
						SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					FROM #TWDOCU_CLIE_Q21_2 
					GROUP BY CO_EMPR, TI_CLIE) T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	AND T1.TI_CLIE = T3.TI_CLIE
	GROUP BY T1.CO_EMPR, T1.TI_CLIE
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, MAX(T1.CO_CLIE), '',
	'', NULL, NULL, '', '', 0, SUM(ISNULL(T1.IM_SAIN_CONV, 0)), 
	0, 0, 0, NULL, 0, SUM(ISNULL(T1.IM_SAIN_CONV, 0)), '3', '3', '1'
	FROM 	#TWDOCU_CLIE_Q21_2 T1
	WHERE 	NOT EXISTS (SELECT 	T3.CO_EMPR
			FROM 	#TWDOCU_CLIE_Q21_1 T3
			WHERE 	T1.CO_EMPR = T3.CO_EMPR
			AND 	T1.TI_CLIE = T3.TI_CLIE )
	GROUP BY T1.CO_EMPR, T1.TI_CLIE
	UNION ALL
	SELECT	T1.CO_EMPR, MAX(T1.TI_CLIE), (SELECT MAX(CO_CLIE)
						FROM #TWDOCU_CLIE_Q21_1),'', 
	'', MAX(T1.FE_EMIS), NULL, MAX(T2.CO_MONE), '',	ISNULL(MAX(T3.IM_SAIN), 0), ISNULL(MAX(T3.IM_SAIN_CONV), 0), 
	SUM(ISNULL(T1.IM_CXCB, 0)), SUM(ISNULL(T1.IM_PAGO, 0)), 0, NULL, SUM(ISNULL(T1.IM_CONV, 0)), 
	ISNULL(MAX(T3.IM_SAIN_CONV), 0) + SUM(ISNULL(T1.IM_CONV, 0)), '2', '2', '2'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    INNER JOIN TTMONE T2
    ON T1.CO_MONE = T2.CO_MONE 
    LEFT OUTER JOIN (SELECT CO_EMPR, CO_MONE,
							  SUM(IM_SAIN) IM_SAIN,
							  SUM(IM_SAIN_CONV) IM_SAIN_CONV  
						FROM #TWDOCU_CLIE_Q21_2 
						GROUP BY CO_EMPR, CO_MONE)T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	AND T1.CO_MONE = T3.CO_MONE 
	WHERE T1.ST_FLAG = 'S'		
	GROUP BY T1.CO_EMPR,  T1.CO_MONE 
	UNION ALL
	SELECT	T1.CO_EMPR, MAX(T1.TI_CLIE), (SELECT MAX(CO_CLIE)
							FROM #TWDOCU_CLIE_Q21_1), '', 
	'', NULL, NULL, MAX(T2.CO_MONE), '', SUM(ISNULL(T1.IM_SAIN, 0)), SUM(ISNULL(T1.IM_SAIN_CONV, 0)), 
	0, 0, 0, NULL, 0, SUM(ISNULL(T1.IM_SAIN_CONV, 0)), '2', '2', '2'
	FROM 	#TWDOCU_CLIE_Q21_2 T1, TTMONE T2
	WHERE 	T1.CO_MONE = T2.CO_MONE 
	AND NOT EXISTS (SELECT 	T3.CO_EMPR
			FROM 	#TWDOCU_CLIE_Q21_1 T3
			WHERE 	T3.ST_FLAG = 'S'
			AND	T1.CO_EMPR = T3.CO_EMPR
			AND 	T1.CO_MONE = T3.CO_MONE )
	GROUP BY T1.CO_EMPR,  T1.CO_MONE
	UNION ALL
	SELECT	T1.CO_EMPR, MAX(T1.TI_CLIE), MAX(T1.CO_CLIE), '',  
	'', NULL, NULL, '', '', 0, ISNULL(MAX(T3.IM_SAIN_CONV), 0),
	SUM(ISNULL( T1.IM_CXCB_CONV, 0 )), SUM(ISNULL( T1.IM_PAGO_CONV, 0 )), 0, NULL, 
	SUM(ISNULL( T1.IM_CONV, 0 )), ISNULL(MAX(T3.IM_SAIN_CONV), 0) + SUM(ISNULL( T1.IM_CXCB_CONV, 0 )) - 
	SUM(ISNULL( T1.IM_PAGO_CONV, 0 )), '3' , '3' , '3'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    LEFT OUTER JOIN (SELECT CO_EMPR,
						SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					FROM #TWDOCU_CLIE_Q21_2 
					GROUP BY CO_EMPR) T3
    ON T1.CO_EMPR = T3.CO_EMPR
	GROUP BY T1.CO_EMPR
	UNION ALL
	SELECT	T1.CO_EMPR, MAX(T1.TI_CLIE), MAX(T1.CO_CLIE), '', 
	'', NULL, NULL, '', '', 0, SUM(ISNULL(T1.IM_SAIN_CONV, 0)), 
	0, 0, 0, NULL, 0, SUM(ISNULL(T1.IM_SAIN_CONV, 0)), '3', '3', '3'
	FROM 	#TWDOCU_CLIE_Q21_2 T1
	WHERE 	NOT EXISTS (SELECT 	T3.CO_EMPR
			FROM 	#TWDOCU_CLIE_Q21_1 T3
			WHERE 	T1.CO_EMPR = T3.CO_EMPR )
	GROUP BY T1.CO_EMPR


	EXECUTE(
	'SELECT	T1.CO_EMPR,  T2.DE_NOMB, T1.TI_CLIE, T4.DE_TIPO_CLIE, T1.CO_CLIE, T4.NO_AUXI,  
		T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, CONVERT(VARCHAR(10),T1.FE_EMIS, 103), T1.FE_VENC, 
		T1.CO_MONE, T1.CO_TIPO_OPER, T1.IM_SAIN, T1.IM_SAIN_CONV, T1.IM_CXCB, T1.IM_PAGO, 
		T1.FA_TIPO_CAMB, T4.NO_DIRE, T4.CO_UBIC_GEOG, T4.NU_TLFN, T4.NU_FAXE, T4.IM_LIMI_CRED, 
		T4.CO_MONE_CRED, T1.FE_DESP, T1.IM_CONV, T1.IM_CONV_TOTA, T5.DE_MONE, T1.TI_DETA_CLIE, 
		T1.TI_DETA_TICL, T1.TI_DETA_EMPR, T1.FE_EMIS
	FROM	#TWDOCU_CLIE_Q21_3 T1, TMEMPR T2, TMAUXI_EMPR T4
    LEFT OUTER JOIN TTMONE T5
    ON T1.CO_MONE = T5.CO_MONE 
	WHERE 	(T1.IM_SAIN != 0
	OR 	T1.IM_SAIN_CONV != 0
	OR 	T1.IM_CXCB != 0 
	OR 	T1.IM_PAGO != 0)
	AND	T4.TI_AUXI_EMPR = "' + @ISTI_AUXI_CLIE + '"
	AND 	T1.CO_EMPR = T2.CO_EMPR
	AND 	T1.CO_EMPR = T4.CO_EMPR
	AND 	T1.CO_CLIE = T4.CO_AUXI_EMPR' + @VSDE_ORDE)

END

IF @ISTI_REPO = 'R' 
BEGIN

	IF @ISDE_ORDE = '3'
		SELECT @VSDE_ORDE = ' ORDER BY 18, 1, 17, 3, 16, 6, 5, 7 ' 
	ELSE
		SELECT @VSDE_ORDE = ' ORDER BY 18, 1, 17, 3, 16, 5, 6, 7 '

	INSERT INTO #TWDOCU_CLIE_Q21_3 ( CO_EMPR, TI_CLIE, CO_CLIE, 
	CO_MONE, IM_SAIN, IM_SAIN_CONV, IM_CXCB, IM_PAGO, IM_CONV, 
	IM_CONV_TOTA, TI_DETA_TICL, TI_DETA_EMPR, TI_DETA_GENE)
	SELECT  T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE, 
		T1.CO_MONE, ISNULL(MAX(T3.IM_SAIN), 0), ISNULL(MAX(T3.IM_SAIN_CONV), 0), 
		SUM(ISNULL( T1.IM_CXCB, 0 )), SUM(ISNULL( T1.IM_PAGO, 0 )), 
		SUM(ISNULL( T1.IM_CONV, 0 )), ISNULL((SELECT SUM(T11.IM_CONV) FROM #TWDOCU_CLIE_Q21_1 T11
							 WHERE T1.CO_EMPR = T11.CO_EMPR AND T1.CO_CLIE = T11.CO_CLIE
							 GROUP BY T11.CO_EMPR, T11.CO_CLIE), 0) + 
						ISNULL((SELECT SUM(T11.IM_SAIN_CONV) FROM #TWDOCU_CLIE_Q21_2 T11
							 WHERE T1.CO_EMPR = T11.CO_EMPR AND T1.CO_CLIE = T11.CO_CLIE
							 GROUP BY T11.CO_EMPR, T11.CO_CLIE), 0), 
		'1', '1', '1'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    LEFT OUTER JOIN #TWDOCU_CLIE_Q21_2 T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	And T1.TI_CLIE = T3.TI_CLIE
	And T1.CO_CLIE = T3.CO_CLIE
	And T1.CO_MONE = T3.CO_MONE
	GROUP BY T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE, T1.CO_MONE
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, T1.CO_CLIE, T1.CO_MONE, 
		T1.IM_SAIN, T1.IM_SAIN_CONV, 0, 0, 0, 
				(SELECT SUM(T11.IM_SAIN_CONV) FROM #TWDOCU_CLIE_Q21_2 T11
				 WHERE T1.CO_EMPR = T11.CO_EMPR AND T1.CO_CLIE = T11.CO_CLIE
				 GROUP BY T11.CO_EMPR, T11.CO_CLIE), 
		'1', '1', '1'	FROM 	#TWDOCU_CLIE_Q21_2 T1
	WHERE 	NOT EXISTS (SELECT 	T3.CO_EMPR
				FROM 	#TWDOCU_CLIE_Q21_1 T3
				WHERE 	T1.CO_EMPR = T3.CO_EMPR
				AND 	T1.CO_CLIE = T3.CO_CLIE
				AND 	T1.CO_MONE = T3.CO_MONE )
 	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, (SELECT MAX(CO_CLIE) FROM #TWDOCU_CLIE_Q21_1),
		T1.CO_MONE, ISNULL(MAX(T3.IM_SAIN), 0), ISNULL(MAX(T3.IM_SAIN_CONV), 0), 
		SUM(ISNULL( T1.IM_CXCB, 0 )), SUM(ISNULL( T1.IM_PAGO, 0 )),
		SUM(ISNULL( T1.IM_CONV, 0 )), 0 , '2', '1', '1'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    LEFT OUTER JOIN(SELECT CO_EMPR, TI_CLIE, CO_MONE,
						  SUM(IM_SAIN) IM_SAIN, 
						  SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					FROM #TWDOCU_CLIE_Q21_2 
					GROUP BY CO_EMPR, TI_CLIE, CO_MONE) T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	AND T1.TI_CLIE = T3.TI_CLIE
	AND T1.CO_MONE = T3.CO_MONE
	GROUP BY T1.CO_EMPR,  T1.TI_CLIE, T1.CO_MONE 
	UNION ALL
	SELECT	T1.CO_EMPR, T1.TI_CLIE, (SELECT MAX(CO_CLIE) FROM #TWDOCU_CLIE_Q21_1),
		T1.CO_MONE, ISNULL(MAX(T3.IM_SAIN), 0), ISNULL(MAX(T3.IM_SAIN_CONV), 0),
		0, 0, 0, 0, '2', '1', '1'
	FROM 	#TWDOCU_CLIE_Q21_2 T1
    LEFT OUTER JOIN (SELECT CO_EMPR, TI_CLIE, CO_MONE,
						  SUM(IM_SAIN) IM_SAIN, 
						  SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					FROM #TWDOCU_CLIE_Q21_2 
					GROUP BY CO_EMPR, TI_CLIE, CO_MONE)T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	AND T1.TI_CLIE = T3.TI_CLIE
	AND T1.CO_MONE = T3.CO_MONE
	AND NOT EXISTS (SELECT 	T3.CO_EMPR
			FROM 	#TWDOCU_CLIE_Q21_1 T3
			WHERE 	T1.CO_EMPR = T3.CO_EMPR
			AND 	T1.TI_CLIE = T3.TI_CLIE
			AND 	T1.CO_MONE = T3.CO_MONE )
	GROUP BY T1.CO_EMPR,  T1.TI_CLIE, T1.CO_MONE 
	UNION ALL
	SELECT	T1.CO_EMPR, MAX(T1.TI_CLIE), MAX(T1.CO_CLIE), MAX(T1.CO_MONE), 
		0, ISNULL(MAX(T3.IM_SAIN_CONV), 0), SUM(ISNULL( T1.IM_CXCB_CONV, 0 )),
		SUM(ISNULL( T1.IM_PAGO_CONV, 0 )), SUM(ISNULL( T1.IM_CONV, 0 )), 0, 
		'3', '1', '1'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    LEFT OUTER JOIN (SELECT CO_EMPR, TI_CLIE, SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					 FROM #TWDOCU_CLIE_Q21_2 
					 GROUP BY CO_EMPR, TI_CLIE) T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	AND	T1.TI_CLIE = T3.TI_CLIE
	GROUP BY T1.CO_EMPR, T1.TI_CLIE
	UNION ALL
	SELECT	T1.CO_EMPR, MAX(T1.TI_CLIE), (SELECT MAX(CO_CLIE) FROM #TWDOCU_CLIE_Q21_1), 
		T1.CO_MONE, ISNULL(MAX(T3.IM_SAIN), 0), ISNULL(MAX(T3.IM_SAIN_CONV), 0),
		SUM(ISNULL( T1.IM_CXCB, 0 )), SUM(ISNULL( T1.IM_PAGO, 0 )), 
		SUM(ISNULL( T1.IM_CONV, 0 )), 0, '2', '2', '1'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    LEFT OUTER JOIN (SELECT CO_EMPR, CO_MONE, SUM(IM_SAIN) IM_SAIN, 
					 SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					 FROM #TWDOCU_CLIE_Q21_2 
					 GROUP BY CO_EMPR, CO_MONE) T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	AND T1.CO_MONE = T3.CO_MONE
	GROUP BY T1.CO_EMPR, T1.CO_MONE 
	UNION ALL
	SELECT	T1.CO_EMPR, MAX(T1.TI_CLIE), (SELECT MAX(CO_CLIE) FROM #TWDOCU_CLIE_Q21_1),
		T1.CO_MONE, ISNULL(MAX(T3.IM_SAIN), 0), ISNULL(MAX(T3.IM_SAIN_CONV), 0),
		0, 0, 0, 0, '2', '2', '1'
	FROM 	#TWDOCU_CLIE_Q21_2 T1
    LEFT OUTER JOIN (SELECT CO_EMPR, CO_MONE, SUM(IM_SAIN) IM_SAIN, 
						  SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					FROM #TWDOCU_CLIE_Q21_2 
					GROUP BY CO_EMPR, CO_MONE)T3
    ON  T1.CO_EMPR = T3.CO_EMPR
	AND T1.CO_MONE = T3.CO_MONE
	AND NOT EXISTS (SELECT 	T3.CO_EMPR
			FROM 	#TWDOCU_CLIE_Q21_1 T3
			WHERE 	T1.CO_EMPR = T3.CO_EMPR
			AND 	T1.CO_MONE = T3.CO_MONE )
	GROUP BY T1.CO_EMPR, T1.CO_MONE
	UNION ALL
	SELECT	T1.CO_EMPR, MAX(T1.TI_CLIE), MAX(T1.CO_CLIE), MAX(T1.CO_MONE), 
		0, ISNULL(MAX(T3.IM_SAIN_CONV), 0), SUM(ISNULL( T1.IM_CXCB_CONV, 0 )), 
		SUM(ISNULL( T1.IM_PAGO_CONV, 0 )), SUM(ISNULL( T1.IM_CONV, 0 )), 0,
		'3', '3', '1'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    LEFT OUTER JOIN (SELECT CO_EMPR, SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					FROM #TWDOCU_CLIE_Q21_2 
					GROUP BY CO_EMPR ) T3
    ON T1.CO_EMPR = T3.CO_EMPR
	GROUP BY T1.CO_EMPR
	UNION ALL
	SELECT	MAX(T1.CO_EMPR), MAX(T1.TI_CLIE), (SELECT MAX(CO_CLIE) FROM #TWDOCU_CLIE_Q21_1),
		T1.CO_MONE, ISNULL(MAX(T3.IM_SAIN), 0), ISNULL(MAX(T3.IM_SAIN_CONV), 0),
		SUM(ISNULL( T1.IM_CXCB, 0 )), SUM(ISNULL( T1.IM_PAGO, 0 )), SUM(ISNULL( T1.IM_CONV, 0 )),  
		0, '2', '2', '2'
	FROM 	#TWDOCU_CLIE_Q21_1 T1
    LEFT OUTER JOIN (SELECT CO_MONE, SUM(IM_SAIN) IM_SAIN, 
						  SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					FROM #TWDOCU_CLIE_Q21_2 
					GROUP BY CO_MONE) T3
    ON T1.CO_MONE = T3.CO_MONE
	GROUP BY T1.CO_MONE 
	UNION ALL
	SELECT	MAX(T1.CO_EMPR), MAX(T1.TI_CLIE), (SELECT MAX(CO_CLIE) FROM #TWDOCU_CLIE_Q21_1),
		T1.CO_MONE, ISNULL(MAX(T3.IM_SAIN), 0), ISNULL(MAX(T3.IM_SAIN_CONV), 0), 0, 0, 0, 
		0, '2', '2', '2'
	FROM 	#TWDOCU_CLIE_Q21_2 T1
    LEFT OUTER JOIN (SELECT CO_MONE, SUM(IM_SAIN) IM_SAIN, 
						  SUM(IM_SAIN_CONV) IM_SAIN_CONV 
					FROM #TWDOCU_CLIE_Q21_2 
					GROUP BY CO_MONE)T3
    ON T1.CO_MONE = T3.CO_MONE
	AND NOT EXISTS (SELECT 	T3.CO_EMPR
			FROM 	#TWDOCU_CLIE_Q21_1 T3
			WHERE 	T1.CO_MONE = T3.CO_MONE )
	GROUP BY T1.CO_MONE
	UNION ALL
	SELECT	MAX(T1.CO_EMPR), MAX(T1.TI_CLIE), MAX(T1.CO_CLIE),MAX(T1.CO_MONE), 
		0, (SELECT SUM(IM_SAIN_CONV)
			FROM #TWDOCU_CLIE_Q21_2 
			GROUP BY CO_EMPR),
		SUM(ISNULL( T1.IM_CXCB_CONV, 0 )), SUM(ISNULL( T1.IM_PAGO_CONV, 0 )), 
		0, 0, '3', '3', '3'
	FROM 	#TWDOCU_CLIE_Q21_1 T1


	EXECUTE('SELECT T1.CO_EMPR,  T2.DE_NOMB, T1.TI_CLIE, T4.DE_TIPO_CLIE, T1.CO_CLIE, T4.NO_AUXI,
			T1.CO_MONE, T3.SB_MONE, T3.DE_MONE, T1.IM_SAIN, T1.IM_SAIN_CONV, T1.IM_CXCB, 
			T1.IM_PAGO, T1.IM_CONV, T1.IM_CONV_TOTA, 
			T1.TI_DETA_TICL, T1.TI_DETA_EMPR, T1.TI_DETA_GENE, ""
		FROM #TWDOCU_CLIE_Q21_3 T1, TMEMPR T2, TMAUXI_EMPR T4
        LEFT OUTER JOIN TTMONE T3
        ON T1.CO_MONE = T3.CO_MONE
		WHERE (T1.IM_SAIN != 0
		OR T1.IM_SAIN_CONV != 0
		OR T1.IM_CXCB != 0 
		OR T1.IM_PAGO != 0)
		AND T4.TI_AUXI_EMPR = "' + @ISTI_AUXI_CLIE + '"
		AND T1.CO_EMPR = T4.CO_EMPR
		AND T1.CO_CLIE = T4.CO_AUXI_EMPR
		AND T1.CO_EMPR = T2.CO_EMPR' + @VSDE_ORDE)

END

RETURN

/*-------------------------------------- FIN -------------------------------------------------*/


GO
